<?php

class ProblemasController extends AppController {

    public $sl_tipos = array(
        "actions" => array("V" => "view", "E" => "edit", "D" => "delete"),
        "filters" => array(
            array("name" => 'Problema.tipo_id', "label" => 'Tipo', 'presentation' => 'SELECT', 'classparams' => '{"model":"Tipo"}'),
            array("name" => 'Problema.descripcion', "label" => 'Descripción'),
            array("name" => 'Problema.estado', "label" => 'Estado', 'presentation' => 'ESTADO')
        ),
        "columns" => array(
            array("name" => 'Tipo.nombre', "label" => 'Tipo'),
            array("name" => 'Problema.descripcion', "label" => 'Descripción'),
            array("name" => 'Problema.estado', "label" => 'Estado', 'presentation' => 'ESTADO')
        )
    );
    public $maint_tipos = array(
        "fields" => array(
            "Descripción del Problema" => array(
                array("name" => "fecha_carga", "label" => "Fecha Carga", "presentation" => "DATETIME", 'classparams' => '{"force":true}', 'isvisible' => false, "actions" => "A"),
                array("name" => "tipo_id", "label" => "Tipo", 'presentation' => 'SELECT', 'classparams' => '{"model":"Tipo"}'),
                array("name" => "descripcion", "label" => "Descripción"),
                array("name" => "estado", "label" => "Estado", 'presentation' => 'ESTADO')
            )
        )
    );

    public function add() {
        $this->maint = $this->maint_tipos;
        parent::add();
    }

    public function edit($id = null) {
        $this->maint = $this->maint_tipos;
        parent::edit($id);
    }

    public function index() {
        $this->search_list = $this->sl_tipos;
        parent::index();
    }

    public function view($id = null) {
        $this->maint = $this->maint_tipos;
        parent::view($id);
    }

    public function ajax_get_tipo($id = null) {
        if (!is_numeric($id)) {
            throw new NotFoundException(__('Tipo inexistente'));
        } else {
            $this->Problema->Tipo->id = $id;
            if (!$this->Problema->Tipo->exists()) {
                throw new NotFoundException(__('Tipo inexistente'));
            } else {
                $sql = array(
                    'conditions' => array('Problema.tipo_id' => $id),
                    'order' => array('descripcion ASC')
                );
                $problemas = $this->Problema->find('list', $sql);
                $this->set('data', json_encode($problemas));
            }
        }

        $this->render('/ajax', 'ajax');
    }

}